package com.example.mybatisplus.mapper;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.mybatisplus.model.domain.Admin;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Controller;
import org.springframework.stereotype.Repository;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author lxp
 * @since 2021-06-17
 */
// 持久层
@Repository
public interface AdminMapper extends BaseMapper<Admin> {

    // 参数该怎么从mapper.java ===> mapper.xml
    // 不管参数是什么类型（基本、对象、数组、集合） 不管是多少个参数   都取别名！！！！

    // 所有的mapper层的接口都会对应一条sql  必须！！！！
    Admin selectByIdMy(@Param("id") Long id);

    // mapper的返回值 不管是单个对象还是对象集合，xml的resultType都是对象类型
    List<Admin> selectByAdmin(@Param("admin")Admin a);

    void deletedByIds(@Param("ids")List<Long> ids);

    void inserts(@Param("admins") List<Admin> admins);

    Admin selectByIdWithOrder(@Param("id") Long id);

    Page<Admin> selectListMy(@Param("page") Page<Admin> page);

}
